﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework.Graphics;
using The_Square_Saga.Objects;
using The_Square_Saga.Screens.Interface;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Input;

namespace The_Square_Saga.Screens
{
    /// <summary>
    /// Whanever you add a new screen on the game, youu need to set her name here.
    /// </summary>
    public enum ScreenName 
    {
        MENU_SCREEN,
        GAME_SCREEN
    }
    
    class Screen : IScreen
    {
        /// <summary>
        /// The background of this screen
        /// </summary>
        protected Texture2D background;

        /// <summary>
        /// The name of this screen
        /// </summary>
        private ScreenName name;

        /// <summary>
        /// Constructor
        /// </summary>
        /// <param name="background">The background</param>
        public Screen(Texture2D background)
        {
            this.background = background;
        }

        /// <summary>
        /// Load all this screen
        /// </summary>
        public virtual void load(ContentManager content)
        {

        }

        /// <summary>
        /// Gets the screen name
        /// </summary>
        /// <returns>The name of screen</returns>
        public ScreenName getScreenName()
        {
            return name;
        }

        /// <summary>
        /// updates this screen
        /// </summary>
        public virtual void update(GameTime gameTime, GameWindow Window)
        {

        }

        /// <summary>
        /// Draw this screen
        /// </summary>
        public virtual void draw(SpriteBatch spriteBatch)
        {

        }
    }
}
